package cn.fl.customer.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.cmm.base.framework.utils.DateUtils;
import cn.cmm.base.framework.utils.StringUtils;
import cn.fl.customer.vo.CstCorpTeamVO;
import fl.customer.facade.customer.dto.CstCorpTeamDTO;

import java.util.ArrayList;
import java.util.List;

 /**
 * @Description: 法人企业团队信息表 转换器
 * VO是客户端传递数据到服务端进行转换的数据 
 * VO转换数据变成DTO传递到服务端 
 * VO不能在服务端出现
 */
public class CstCorpTeamVOTransform {


	/**
	 * DTO 转  VO
	 * @param po CstCorpTeamDTO
	 * @return CstCorpTeamVO
	 */
	public static CstCorpTeamVO toVO(CstCorpTeamDTO dto) {
		CstCorpTeamVO  vo = null;
		if (dto != null) { 
			vo = new CstCorpTeamVO();
			vo.setId(dto.getId());
			vo.setCstId(dto.getCstId());//客户ID
			vo.setMTypCd(dto.getMTypCd());//成员类型（CST0013）
			vo.setMNm(dto.getMNm());//成员姓名
			vo.setCertTypCd(dto.getCertTypCd());//成员证件类型（CST0005）
			vo.setCertNo(dto.getCertNo());//成员证件号码
			vo.setMp1(dto.getMp1());//手机号
			vo.setMp2(dto.getMp2());//手机号
			vo.setTeamRem(dto.getTeamRem());//备注
			vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
			vo.setmTypCdNm(dto.getmTypCdNm());//成员类型（CST0013）
			vo.setmTypCdNm(dto.getmTypCdNm());//成员类型
			vo.setCertTypCdNm(dto.getCertTypCdNm());//证件类型名称
			vo.setBuOrgCd(dto.getBuOrgCd());
			vo.setOrgCd(dto.getOrgCd());
			vo.setOfficeTel(dto.getOfficeTel());
			vo.setHomeAddr(dto.getHomeAddr());
			if(null != dto.getBirthday()){
				vo.setBirthday(DateUtils.formatDateToString(dto.getBirthday(), DateUtils.YYYY_MM_DD));//生日
			}else{
				vo.setBirthday("");//生日
			}
			vo.setGenderCd(dto.getGenderCd());
			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			vo.setResumeList(CstCorpTeamResumeVOTransform.toVOList(dto.getResumeList()));
			vo.setRlCstId(dto.getRlCstId());
			vo.setAge(dto.getAge());
			vo.setGenderCdNm(dto.getGenderCdNm());
			vo.setCertValidSDt(dto.getCertValidSDt());
			vo.setCertValidEDt(dto.getCertValidEDt());
			vo.setPostCity(dto.getPostCity());
			vo.setPostCounty(dto.getPostCounty());
			vo.setPostProvince(dto.getPostProvince());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto CstCorpTeamVO
	 * @return CstCorpTeamDTO
	 */
	public static CstCorpTeamDTO toDTO(CstCorpTeamVO vo) {
		CstCorpTeamDTO dto = null;
		if (vo != null) {
			dto = new CstCorpTeamDTO();
			dto.setId(vo.getId());
			dto.setCstId(vo.getCstId());//客户ID
			dto.setMTypCd(vo.getMTypCd());//成员类型（CST0013）
			dto.setMNm(vo.getMNm());//成员姓名
			dto.setCertTypCd(vo.getCertTypCd());//成员证件类型（CST0005）
			dto.setCertNo(vo.getCertNo());//成员证件号码
			dto.setMp1(vo.getMp1());//手机号
			dto.setMp2(vo.getMp2());//手机号
			dto.setOfficeTel(vo.getOfficeTel());
			dto.setTeamRem(vo.getTeamRem());//备注
			dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
			dto.setmTypCdNm(vo.getmTypCdNm());//成员类型（CST0013）
			dto.setmTypCdNm(vo.getmTypCdNm());//成员类型
			dto.setCertTypCdNm(vo.getCertTypCdNm());//证件类型名称
			dto.setBuOrgCd(vo.getBuOrgCd());
			dto.setOrgCd(vo.getOrgCd());
			dto.setHomeAddr(vo.getHomeAddr());
			dto.setGenderCd(vo.getGenderCd());
			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			dto.setResumeList(CstCorpTeamResumeVOTransform.toDTOList(vo.getResumeList()));
			dto.setRlCstId(vo.getRlCstId());
			dto.setAge(vo.getAge());
			if(StringUtils.isNotEmpty(vo.getBirthday())){
				dto.setBirthday(DateUtils.formatStringToDate(vo.getBirthday(), DateUtils.YYYY_MM_DD));//生日
			}
			dto.setGenderCdNm(vo.getGenderCdNm());
			dto.setCertValidSDt(vo.getCertValidSDt());
			dto.setCertValidEDt(vo.getCertValidEDt());
			dto.setPostCity(vo.getPostCity());
			dto.setPostCounty(vo.getPostCounty());
			dto.setPostProvince(vo.getPostProvince());
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list List<CstCorpTeam>
	 * @return List<CstCorpTeamDTO>
	 */
	public static List<CstCorpTeamVO> toVOList(List<CstCorpTeamDTO> list) {
		List<CstCorpTeamVO>  voList = new ArrayList<CstCorpTeamVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (CstCorpTeamDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}

	 /**
	  * VO集合 转 DTO集合
	  * @param list List<CstCorpTeam>
	  * @return List<CstCorpTeamDTO>
	  */
	 public static List<CstCorpTeamDTO> toDTOList(List<CstCorpTeamVO> list) {
		 List<CstCorpTeamDTO>  dtoList = new ArrayList<CstCorpTeamDTO>();
		 if(CollectionUtils.isNotEmpty(list)){
			 for (CstCorpTeamVO vo : list) {
				 dtoList.add(toDTO(vo));
			 }
		 }
		 return dtoList;
	 }
}
